
DEBUG = 0

#######################################################################################

OPT = -O2

FLAGS = -Wall -Wno-deprecated -I..
#-Wall 

ifeq ($(DEBUG),0)
	FLAGS += $(OPT) -g
	FFLAGS = $(OPT) -g
else
	FLAGS += -g -DDEBUG
	FFLAGS = -g -Wall
endif

CC = g++
FC = gfortran

LD = $(FC)
PROBSRC := $(CURDIR)/PROBLEMS
OBJS := maintot-rib-2.o prog_riB-2.o MainGlob.o qsortd.o
LIBS = 

o = .o

.SUFFIXES: .f .f90

all:    ddfsa

libprobs.a:	
	$(MAKE) -C $(PROBSRC)
	ar cr libprobs.a \
	$(PROBSRC)/fun10nmin.o  $(PROBSRC)/fun6humpcb.o  $(PROBSRC)/funhart3.o  $(PROBSRC)/funodessa.o		\
	$(PROBSRC)/funshekel5.o $(PROBSRC)/Griewank.o    $(PROBSRC)/Schubertpen1.o $(PROBSRC)/fun15nmin.o	\
	$(PROBSRC)/funcosmix.o  $(PROBSRC)/funhart6.o    $(PROBSRC)/funschwefel.o  $(PROBSRC)/funshekel7.o	\
	$(PROBSRC)/Quartic.o    $(PROBSRC)/Schubertpen2.o $(PROBSRC)/fun5nmin.o   $(PROBSRC)/funexp.o		\
	$(PROBSRC)/funmodlangerman.o  $(PROBSRC)/funshekel10.o  $(PROBSRC)/funshekelfox.o			\
	$(PROBSRC)/Schubert.o   $(PROBSRC)/Treccani.o

ddfsa:	$(OBJS) libprobs.a
	$(LD) $(FLAGS) -o ddfsa $(OBJS) $(LIBS) -L. -lprobs -pthread

.f.o:
	$(FC) $(FFLAGS) -c $*.f -o $*.o

.f90.o:
	$(FC) $(FFLAGS) -c $*.f90 -o $*.o

clean:
	rm -f *.mod
	rm -f *.o
	rm -f PROBLEMS/*.o
	rm -f libprobs.a
	rm -f ddfsa

